// Copyright 2019 JDAI Inc.
// License ()
// Author:  XXXXXXX (), XXXX@jd.com
// Filename:  PowerAdapter.h
// Description:
// Created:  08/20/21 15:04:10
// Version:  1.0
// Company:  JDAI

#ifndef PowerAdapter_H_
#define PowerAdapter_H_
#include <iostream>
#include <string>
#include <memory>

#include "ICharging.h"
#include "ISocket.h"
#include "ForeignSocketAdaptee.h"
#include "ChinaSocketAdaptee.h"
#include "Common.h"
#include "ISocket.h"

using std::string;
using std::shared_ptr;

class PowerAdapter;
typedef shared_ptr < PowerAdapter > PowerAdapterSPtr;

class PowerAdapter: public ICharging {
public:
    PowerAdapter();
    ~PowerAdapter();
    bool SetPowerMode(PowerType type);
    bool SetSocket(ISocketSPtr& socket);
    virtual bool Charging12V();

public:
    PowerType mPowerType;
    ISocketSPtr mspSocket;

    ForeignSocketAdapteeSPtr mspForeignSocketAdaptee;
    ChinaSocketAdapteeSPtr mspChinaSocketAdaptee;
};

#endif
